package com.ruoyi.dr.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品基本信息对象 dr_product_data
 * 
 * @author ruoyi
 * @date 2025-07-12
 */
public class DrProductData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品id */
    private String productId;

    /** 发给达人的信息 */
    @Excel(name = "发给达人的信息")
    private String willSendData;

    /** 推广费率（达人可以拿到的费率） */
    @Excel(name = "推广费率", readConverterExp = "达=人可以拿到的费率")
    private Long commissionRate;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long applyId;

    /** 商品价格（需要除100） */
    @Excel(name = "商品价格", readConverterExp = "需=要除100")
    private BigDecimal productPrice;

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    private String shopName;

    /** 店铺id */
    @Excel(name = "店铺id")
    private String shopId;

    /** 推广开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推广开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date commissionEffectStartTime;

    /** 推广结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推广结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date commissionEffectEndTime;

    /** 服务费率 */
    @Excel(name = "服务费率")
    private BigDecimal serviceRate;

    /** 链接url */
    @Excel(name = "链接url")
    private String promotionUrl;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String productImg;

    /** 商品库存 */
    @Excel(name = "商品库存")
    private String productStock;

    /** 抖音好物  1是2否 */
    @Excel(name = "抖音好物  1是2否")
    private Integer douinGoodsTag;

    /** 商品等级1g-4g */
    @Excel(name = "商品等级1g-4g")
    private String productLevel;

    /** 商品审核状态 */
    @Excel(name = "商品审核状态")
    private Long auditStatus;

    /** 是否关闭了链接  0 是  1  否 */
    @Excel(name = "是否关闭了链接  0 是  1  否")
    private Long isOffTheShelf;

    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }

    public void setWillSendData(String willSendData) 
    {
        this.willSendData = willSendData;
    }

    public String getWillSendData() 
    {
        return willSendData;
    }

    public void setCommissionRate(Long commissionRate) 
    {
        this.commissionRate = commissionRate;
    }

    public Long getCommissionRate() 
    {
        return commissionRate;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setApplyId(Long applyId) 
    {
        this.applyId = applyId;
    }

    public Long getApplyId() 
    {
        return applyId;
    }

    public void setProductPrice(BigDecimal productPrice) 
    {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductPrice() 
    {
        return productPrice;
    }

    public void setShopName(String shopName) 
    {
        this.shopName = shopName;
    }

    public String getShopName() 
    {
        return shopName;
    }

    public void setShopId(String shopId) 
    {
        this.shopId = shopId;
    }

    public String getShopId() 
    {
        return shopId;
    }

    public void setCommissionEffectStartTime(Date commissionEffectStartTime) 
    {
        this.commissionEffectStartTime = commissionEffectStartTime;
    }

    public Date getCommissionEffectStartTime() 
    {
        return commissionEffectStartTime;
    }

    public void setCommissionEffectEndTime(Date commissionEffectEndTime) 
    {
        this.commissionEffectEndTime = commissionEffectEndTime;
    }

    public Date getCommissionEffectEndTime() 
    {
        return commissionEffectEndTime;
    }

    public void setServiceRate(BigDecimal serviceRate) 
    {
        this.serviceRate = serviceRate;
    }

    public BigDecimal getServiceRate() 
    {
        return serviceRate;
    }

    public void setPromotionUrl(String promotionUrl) 
    {
        this.promotionUrl = promotionUrl;
    }

    public String getPromotionUrl() 
    {
        return promotionUrl;
    }

    public void setProductImg(String productImg) 
    {
        this.productImg = productImg;
    }

    public String getProductImg() 
    {
        return productImg;
    }

    public void setProductStock(String productStock) 
    {
        this.productStock = productStock;
    }

    public String getProductStock() 
    {
        return productStock;
    }

    public void setDouinGoodsTag(Integer douinGoodsTag) 
    {
        this.douinGoodsTag = douinGoodsTag;
    }

    public Integer getDouinGoodsTag() 
    {
        return douinGoodsTag;
    }

    public void setProductLevel(String productLevel) 
    {
        this.productLevel = productLevel;
    }

    public String getProductLevel() 
    {
        return productLevel;
    }

    public void setAuditStatus(Long auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Long getAuditStatus() 
    {
        return auditStatus;
    }

    public void setIsOffTheShelf(Long isOffTheShelf) 
    {
        this.isOffTheShelf = isOffTheShelf;
    }

    public Long getIsOffTheShelf() 
    {
        return isOffTheShelf;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("willSendData", getWillSendData())
            .append("commissionRate", getCommissionRate())
            .append("productName", getProductName())
            .append("applyId", getApplyId())
            .append("productPrice", getProductPrice())
            .append("shopName", getShopName())
            .append("shopId", getShopId())
            .append("commissionEffectStartTime", getCommissionEffectStartTime())
            .append("commissionEffectEndTime", getCommissionEffectEndTime())
            .append("serviceRate", getServiceRate())
            .append("promotionUrl", getPromotionUrl())
            .append("productImg", getProductImg())
            .append("productStock", getProductStock())
            .append("douinGoodsTag", getDouinGoodsTag())
            .append("productLevel", getProductLevel())
            .append("auditStatus", getAuditStatus())
            .append("isOffTheShelf", getIsOffTheShelf())
            .toString();
    }
}
